shadow: add code to render blurred shadows
authorCosimo Cecchi <cosimoc@gnome.org>
Tue, 17 Apr 2012 19:43:58 +0000 (15:43 -0400)
committerBenjamin Otte <otte@redhat.com>
Thu, 20 Sep 2012 00:45:41 +0000 (02:45 +0200)
commitb609686133f2728fc6e4f950738f0fa4a1a11d70
tree1a4f07c74a1b0cba6cc893438cd97953711872e0
parenta239f2e8b028b714cd269c10c70e19683390b68f
shadow: add code to render blurred shadows

Split out the blurred shadow rendering in three steps:
- creation of a surface of the appropriate size - we use the clip
  rectangle as a good measurement for the size, since we won't render
  out of it anyway
- painting the unblurred shape on the surface - this is responsibility
  of the single shadow implementations
- blur the surface and compose the result back on the original cairo_t

This means we can share code between the implementations for the first
and third steps; it also makes the code independent of the rendered
size, so we can avoid passing down a cairo_rectangle_t with e.g. the
icon coordinates.
gtk/gtkcssshadowvalue.c